/*
 * IFT615 - TP2
 * Session d'hiver 2009
 *
 * Université de Sherbrooke
 * Département d'informatique
 */


import java.util.Random;

/**
 *
 * @author Eric Beaudry
 */
public enum ActionType {
    
    UneSeuleCase, UnDe, DeuxDes;

    /**
     *
     * @return Simule et retourne le nombre de case d'avancement de l'action
     */
    public int getAvancement(){
        switch(this){
            case UneSeuleCase:
                return 1;
            case UnDe:
                return random.nextInt(6) + 1;
            case DeuxDes:
                return random.nextInt(6) + random.nextInt(6) + 2;
            default:
                return 0;
        }
    }

    public String getLabel(){
        switch(this){
            case UneSeuleCase:
                return labels[0];
            case UnDe:
                return labels[1];
            case DeuxDes:
                return labels[2];
            default:
                return "-";
        }
    }

    public static ActionType get(String s){
        if(s.equalsIgnoreCase(labels[0]))
            return UneSeuleCase;
        if(s.equalsIgnoreCase(labels[2]))
            return DeuxDes;
        if(s.equalsIgnoreCase(labels[1]))
            return UnDe;
        return null;
    }

    private static String[] labels = new String[]{"1", "D", "DD"};
    private static Random   random = new Random();
    
}
